package cn.lhn.ridersclub.service;

import cn.lhn.ridersclub.dto.CommentDto;
import cn.lhn.ridersclub.entity.Comment;
import cn.lhn.ridersclub.entity.SubjectComment;

import java.util.List;

public interface CommentService {

    void addComment(String content, Long paperId, Long accountId);

    void deleteComment(Long commentId, Long accountId);

    CommentDto getComment(Long commentId);

    List<CommentDto> listComment(Long paperId, Long startId);

    Long getCommentCount(Long paperId);

    void supportComment(Long commentId, Long accountId);

    void deleteSupportComment(Long commentId, Long accountId);

    Boolean isSupportComment(Long commentId, Long accountId);

    CommentDto getMostHotCommentByPaperId(Long paperId);

    Comment getMostHotComment(Long paperId);

    List<Long> listHostTopIdByPaperId(Long paperId);

    void addSubjectComment(Long commentId, Long accountId, String content);

    void deleteSubjectComment(Long subjectCommentId, Long accountId);

    List<SubjectComment> listSubjectComment(Long commentId);

    Long subjectCommentCount(Long commentId);
}
